package cn.assumejson.springframework.aop.support;

import cn.assumejson.springframework.aop.ClassFilter;
import cn.assumejson.springframework.aop.MethodMatcher;
import cn.assumejson.springframework.aop.Pointcut;

import java.io.Serializable;
import java.lang.reflect.Method;

/**
 * @author gang.Li
 * @version 1.0
 * @since 1.0 2021/12/9 16:00
 */
public class ComposablePointcut implements Pointcut, Serializable {


    private ClassFilter classFilter;

    private MethodMatcher methodMatcher;

    private Method aspectJAdviceMethod;


    public ComposablePointcut(ClassFilter classFilter, Method aspectJAdviceMethod) {
        this.classFilter = classFilter;

        this.aspectJAdviceMethod = aspectJAdviceMethod;
    }

    @Override
    public ClassFilter getClassFilter() {
        return classFilter;
    }

    @Override
    public MethodMatcher getMethodMatcher() {
        return methodMatcher;
    }
}
